Skip to content

大家好,我是农村程序员,独立开发者,前端之虎陈随易。

欢迎关注,广交朋友,共创未来。


最近呢,Vite 6 更新的消息,在各大技术博主的分享下,已经传开了。

我一直有关注软件更新的习惯,每天都会查看几次软件更新通知,vite 6 发布的第一时间,我就发现了。

粗看了几遍更新内容,不是我熟悉的,写文章分享的话,也只是囫囵吞枣,原样输出,说不出一些自己的见解出来。

不过,今天我又查看了一遍更新 vite 6 更新日志,发现了一个有趣的调整。

bash
chore(deps)!: migrate fast-glob to tinyglobby

就是这一句话:把 fast-glob 替换为 tinyglobby

它们是干什么用的呢?参考以下例子:

tinyglobby

js
import { glob, globSync } from 'tinyglobby';

await glob(['files/*.ts', '!**/*.d.ts'], { cwd: 'src' });
globSync(['src/**/*.ts'], { ignore: ['**/*.d.ts'] });

fast-glob

js
const fg = require('fast-glob');

const entries = await fg(['.editorconfig', '**/index.js'], { dot: true });

// ['.editorconfig', 'services/index.js']

就是可以用类似正则一样的语法来查询文件和目录的工具。

相关issue

顺着相关的链接追踪,看到这样一个已经关闭的 issue,翻译成中文就是:此 PR 建议用较轻的 tinyglobby 替换较重的 fast-glob。支持的模式相同,除了增加括号。

看到这里,不禁对开源贡献者的极客精神深深敬佩,之所以把 fast-glob 替换为 tinyglobby,就是为了减少一点项目的体积,提高一点性能。

那么接下来,我们对比一下 fast-globtinyglobby 的相关数据。

对比项fast-globtinyglobby
发布时间2016年12月28日2024年7月23日
依赖总数17个2个
体积大小96.7 kB15.9 kB
周下载量4600万+20万+
最新更新一年前一个月前
贡献人数30个6个

作为前辈,fast-glob时间相关 的数据优势很大,比如 下载量

作为后辈,tinyglobby性能相关 的数据优势更大,比如 体积大小依赖数量

而且,目前 tinyglobby 已经被以上知名项目作为依赖使用,可靠性是毋庸置疑的。

我自己的开源项目 funpi(放屁) - Node.js接口开发框架,和 yite-cli - vue3脚手架 也会把 fast-glob 替换为 tinyglobby

  • funpi - https://github.com/chenbimo/funpi
  • yite-cli - https://github.com/chenbimo/yite-cli

如果你感兴趣,欢迎给个 star~

何以解忧,唯有代码。不忘初心,方得始终。